#pragma once
#include <functional>
#include <string>

#include "../refbase/refbase.h"

using ThreadPoolTask = std::function<void()>;

class ThreadPool : public RefBase {
public:
    static sptr<ThreadPool> GetInstance();

    virtual void PostTask(ThreadPoolTask task, std::string name = "") = 0;
};
